 import { _init,
	_connect, 
	_disconnect, 
	_initListener,
	_destroy
 } from "./base.js"
 
import { 
	_loadConversations,
	_loadConversation,
	_removeConversation,
	_removeConversations,
	_saveDraftMessage,
	_loadDraftMessage,
	_clearDraftMessage,
	_changeConversationNotificationLevel,
	_loadConversationNotificationLevel,
	_changeConversationTypeNotificationLevel,
	_loadConversationTypeNotificationLevel,
	_loadBlockedConversations,
	_changeConversationTopStatus,
	_setOnConversationTopStatusLoadedListener,
	_syncConversationReadStatus,
	_searchConversations,
	_loadMessageCount,
	_loadTopConversations,
 } from './conversation.js'
 
import {
	_sendTextMessage,
	_sendImageMessage,
	_sendFileMessage,
	_sendVoiceMessage,
	_sendSightMessage,
	_sendReferenceMessage,
	_sendGIFMessage,
	_sendLocationMessage,
	_sendCustomMessage,
	_cancelSendMediaMessage,
	_downloadMediaMessage,
	_cancelDownloadMediaMessage,
	_sendTypingStatus,
	_loadMessages,
	_getMessageById,
	_getMessageByUId,
	_getFirstUnreadMessage,
	_getUnreadMentionedMessages,
	_insertMessage,
	_insertMessages,
	_clearMessages,
	_deleteLocalMessage,
	_deleteMessages,
	_recallMessage,
	_sendPrivateReadReceiptMessage,
	_sendGroupReadReceiptRequest,
	_sendGroupReadReceiptResponse,
	_updateMessageExpansion,
	_removeMessageExpansion,
	_changeMessageSentStatus,
	_changeMessageReceiveStatus,
	_searchMessages,
	_searchMessagesByTimeRange,
	_searchMessagesByUserId,
	_sendGroupMessageToDesignatedUsers,
} from './message.js'

import {
	_loadUnreadCount,
	_loadTotalUnreadCount, 
	_loadUnreadCountByConversationTypes, 
	_loadUnreadMentionedCount, 
	_clearUnreadCount,
 } from "./unread.js"
 
import {
	_joinChatRoom,
	_leaveChatRoom,
	_loadChatRoomMessages,
	_loadChatRoomEntry,
	_loadAllChatRoomEntries,
	_addChatRoomEntry,
	_forceSetChatRoomEntry,
	_addChatRoomEntries,
	_removeChatRoomEntry,
	_forceRemoveChatRoomEntry,
	_removeChatRoomEntries
} from './chatroom.js'

import {
	_syncUltraGroupReadStatus,
	_loadConversationsForAllChannel,
	_loadUltraGroupUnreadMentionedCount,
	_modifyUltraGroupMessage,
	_recallUltraGroupMessage,
	_clearUltraGroupMessages,
	_sendUltraGroupTypingStatus,
	_clearUltraGroupMessagesForAllChannel,
	_loadBatchRemoteUltraGroupMessages,
	_updateUltraGroupMessageExpansion,
	_removeUltraGroupMessageExpansion,
	_changeUltraGroupDefaultNotificationLevel,
	_loadUltraGroupDefaultNotificationLevel,
	_changeUltraGroupChannelDefaultNotificationLevel,
	_loadUltraGroupChannelDefaultNotificationLevel,
	_loadUltraGroupAllUnreadCount,
	_loadUltraGroupAllUnreadMentionedCount,
	_loadUltraGroupUnreadCount,
 } from "./ultra_group"

import {
	_addToBlacklist,
	_removeFromBlacklist,
	_loadBlacklistStatus,
	_loadBlacklist,
	_changeNotificationQuietHours,
	_removeNotificationQuietHours,
	_loadNotificationQuietHours,
	_changePushContentShowStatus,
	_changePushLanguage,
	_changePushReceiveStatus,
	_changeLogLevel,
} from './other.js'

export default [

	{
		title: '链接相关',
		list: [
			_init,
			_connect,
			_disconnect,
			_initListener,
			_destroy
		]
	},
	{
		title: '会话相关',
		list: [
			_loadConversations,
			_loadConversation,
			_removeConversation,
			_removeConversations,
			_saveDraftMessage,
			_loadDraftMessage,
			_clearDraftMessage,
			_changeConversationNotificationLevel,
			_loadConversationNotificationLevel,
			_changeConversationTypeNotificationLevel,
			_loadConversationTypeNotificationLevel,
			_loadBlockedConversations,
			_changeConversationTopStatus,
			_setOnConversationTopStatusLoadedListener,
			_syncConversationReadStatus,
			_searchConversations,
			_loadMessageCount,
			_loadTopConversations,
		]
	},
	{
		title: '消息相关',
		list: [
			_sendTextMessage,
			_sendImageMessage,
			_sendFileMessage,
			_sendVoiceMessage,
			_sendSightMessage,
			_sendReferenceMessage,
			_sendGIFMessage,
			_sendLocationMessage,
			_sendCustomMessage,
			_cancelSendMediaMessage,
			_downloadMediaMessage,
			_cancelDownloadMediaMessage,
			_sendTypingStatus,
			_loadMessages,
			_getMessageById,
			_getMessageByUId,
			_getFirstUnreadMessage,
			_getUnreadMentionedMessages,
			_insertMessage,
			_insertMessages,
			_clearMessages,
			_deleteLocalMessage,
			_deleteMessages,
			_recallMessage,
			_sendPrivateReadReceiptMessage,
			_sendGroupReadReceiptRequest,
			_sendGroupReadReceiptResponse,
			_updateMessageExpansion,
			_removeMessageExpansion,
			_changeMessageSentStatus,
			_changeMessageReceiveStatus,
			_searchMessages,
			_searchMessagesByTimeRange,
			_searchMessagesByUserId,
			_sendGroupMessageToDesignatedUsers,
		]
	},
	{
		title: '未读数相关',
		list: [
			_loadUnreadCount,
			_loadTotalUnreadCount, 
			_loadUnreadCountByConversationTypes, 
			_loadUnreadMentionedCount, 
			_clearUnreadCount,
		]
	},
	{
		title: '聊天室相关',
		list: [
			_joinChatRoom,
			_leaveChatRoom,
			_loadChatRoomMessages,
			_addChatRoomEntry,
			_addChatRoomEntries,
			_loadChatRoomEntry,
			_loadAllChatRoomEntries,
			_removeChatRoomEntry,
			_removeChatRoomEntries
		]
	},
	{
		title: '超级群相关',
		list: [
			_syncUltraGroupReadStatus,
			_loadConversationsForAllChannel,
			_loadUltraGroupUnreadMentionedCount,
			_modifyUltraGroupMessage,
			_recallUltraGroupMessage,
			_clearUltraGroupMessages,
			_sendUltraGroupTypingStatus,
			_clearUltraGroupMessagesForAllChannel,
			_loadBatchRemoteUltraGroupMessages,
			_updateUltraGroupMessageExpansion,
			_removeUltraGroupMessageExpansion,
			_changeUltraGroupDefaultNotificationLevel,
			_loadUltraGroupDefaultNotificationLevel,
			_changeUltraGroupChannelDefaultNotificationLevel,
			_loadUltraGroupChannelDefaultNotificationLevel,
			_loadUltraGroupAllUnreadCount,
			_loadUltraGroupAllUnreadMentionedCount,
			_loadUltraGroupUnreadCount,
		]
	},
	{
		title: '其他配置',
		list: [
			_addToBlacklist,
			_removeFromBlacklist,
			_loadBlacklistStatus,
			_loadBlacklist,
			_changeNotificationQuietHours,
			_removeNotificationQuietHours,
			_loadNotificationQuietHours,
			_changePushContentShowStatus,
			_changePushLanguage,
			_changePushReceiveStatus,
			_changeLogLevel,
		]
	}
]